--- import Breadcrumbs from '@/components/Breadcrumbs.astro' import EventNavigation from '@/components/EventNavigation.astro' import TOCHeader from '@/components/TOCHeader.astro' import TOCSidebar from '@/components/TOCSidebar.astro' import { badgeVariants } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import Layout from '@/layouts/Layout.astro' import { getAdjacentEvents, getAllEvents, getTOCSections, } from '@/lib/data-utils' import { formatDate, iconMappings } from '@/lib/utils' import { Icon } from 'astro-icon/components' import { Image } from 'astro:assets' import { render } from 'astro:content' export async function getStaticPaths() { const events = await getAllEvents() return events.map((event) => ({ params: { id: event.id }, props: event, })) } const event = Astro.props const currentPostId = Astro.params.id const navigation = await getAdjacentEvents(currentPostId) const { Content, headings } = await render(event) const tocSections = await getTOCSections(currentPostId) --- { headings?.length > 0 && !(headings.length === 1 && headings[0].text === event.data.title) && ( ) } { event.data.image && ( ) } {event.data.title} {formatDate(event.data.date)} { event.data.type && ( {event.data.type} ) } { tocSections.length > 0 && ( ) }